var enumsStore = new Ext.data.JsonStore({
	storeId : 'myStore',
	pageSize : 50,
	autoLoad : true,
	proxy : {
		type : 'ajax',
		url : '/codemaker/enums.json',
		reader : {
			type : 'json',
			root : 'data',
			totalProperty : 'totalPage',
			idProperty : 'name'
		}
	},
	fields : [ 'name', 'enumName', 'code', 'msg' ],
	groupField : 'name'
});

var sm_enum = Ext.create('Ext.selection.CheckboxModel');
var enumsGrid = Ext.create('Ext.grid.GridPanel', {
	id : 'enumsgrid',
	title : '枚举设置',
	store:enumsStore,
	dockedItems: [{
        xtype: 'toolbar',
        items: [{
            text: '新增',
            tooltip: '新增枚举',
            listeners : {
				click : function() {
					openEnumWindow('new');
				}
			}
        },{
            text: '编辑',
            tooltip: '编辑<br>不建议使用编辑功能，建议删除后重新添加。',
            listeners : {
				click : function() {
					openEnumWindow('edit');
				}
			}
        },{
            text: '删除',
            tooltip: '删除枚举项',
            listeners : {
				click : function() {
					var selected = enumsGrid.getSelectionModel().getSelection();
					if(selected.length == 0){
						Ext.MessageBox.show({
					       title: '错误',
					       msg: '删除项选择有误，请至少选择一项删除',
					       buttons: Ext.MessageBox.OK,
					       icon: Ext.MessageBox.ERROR
					   });
					} else {
						var deleteParam = '';
						Ext.Array.each(selected, function(value, index, countriesItSelf) {
							deleteParam += value.data.name+'|'+value.data.code;
						    if(index < selected.length-1){
						    	deleteParam += ',';
						    }
						});
						Ext.Ajax.request({
						     url: '/codemaker/enumDelete.json',
						     params:{code:deleteParam},
						     success: function(response, opts) {
						         var result = Ext.decode(response.responseText);
						         if(result.success){
						        	 enumsGrid.store.reload();
						         } else {
						        	 Ext.MessageBox.show({
								           title: '错误',
								           msg: result.message,
								           buttons: Ext.MessageBox.OK,
								           icon: Ext.MessageBox.ERROR
								       });
						         }
						     },
						     failure: function(response, opts) {
						    	 Ext.MessageBox.show({
							           title: '错误',
							           msg: response.status,
							           buttons: Ext.MessageBox.OK,
							           icon: Ext.MessageBox.ERROR
							       });
						     }
						 });
					}
				}
			}
        },'-',{
	        text: '刷新',
	        handler: function() {
	        	enumsGrid.store.reload();
	        }
	    }]
    }],
	forceFit : false,
	height : 400,
	rowLines : true,
	columnLines : true,
	selModel : sm_enum,
	viewConfig : {
		enableTextSelection : false
	},
	features: [{
        id: 'group',
        ftype: 'grouping',
        hideGroupedHeader: true,
        enableGroupingMenu: false
    }],
	columns : [
		{
			text : '枚举类名',
			dataIndex : 'name',
			width : 200
		},
		{
			text : '枚举名称',
			dataIndex : 'enumName',
			width : 200
		},
		{
			text : '枚举Code',
			dataIndex : 'code',
			width : 200
		},
		{
			text : '枚举Message',
			dataIndex : 'msg',
			width : 200
		}
	],
	listeners : {
		itemdblclick : function(g, record, item, index, e, eOpts) {
			openEnumWindow('edit');
		}
	}
});